using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces;

public interface IHabitRecordRepository : IRepository<HabitRecord>
{
    Task<IEnumerable<HabitRecord>> GetByUserIdAsync(int userId);
    Task<IEnumerable<HabitRecord>> GetByHabitIdAsync(int habitId);
    Task<IEnumerable<HabitRecord>> GetByUserIdAndDateRangeAsync(int userId, DateTime startDate, DateTime endDate);
    Task<HabitRecord?> GetByUserIdAndHabitIdAndDateAsync(int userId, int habitId, DateTime date);
}